home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / AppleShare API / UGLibrary / UGLibrary.a < prev    next >
Encoding:
Text File  |  1992-05-19  |  6.0 KB  |  196 lines  |  [TEXT/MPS ]

  1.  
  2. ; Created: Friday, May 8, 1992 6:39 PM
  3. ;
  4. ; File: UGlibrary.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1990
  8. ; All Rights Reserved
  9. ;
  10. ;___________________________________________________________________________
  11.  
  12.  IF (&TYPE('__UGlibrary__') = 'UNDEFINED') THEN
  13. __UGlibrary__   SET 1
  14.  
  15.  IF &TYPE('__Types__') = 'UNDEFINED' THEN
  16.  INCLUDE 'Types.a'
  17.  ENDIF
  18.  
  19.  
  20. ; error codes for the UGLibrary 
  21. ugUserAlreadyExists   EQU     1
  22. ugGroupAlreadyExists  EQU     2
  23. ugULInfoRecNotCreated EQU     3
  24. ugNoMoreUGs           EQU     4
  25. ugUserNotFound        EQU     5
  26. ugGroupNotFound       EQU     6
  27. ugNotAUser            EQU     7
  28. ugNotAGroup           EQU     8
  29. ugTooManyGroups       EQU     9
  30. ugNotaMember          EQU     10
  31. ugNoMoreUsers         EQU     11
  32. ugNoMoreGroups        EQU     12
  33. ugBadParamErr         EQU     13
  34. ugUserAlreadyAMember  EQU     14
  35. ugAPrmryGroupExists   EQU     15
  36. ugServerRunning       EQU     16
  37. ugAdminRunning        EQU     17
  38. ugNotBtree            EQU     18
  39. ugBadKey              EQU     19
  40. ugDskFull             EQU     20
  41. ugBadUID              EQU     21
  42. ugInvalidPasswd       EQU     22
  43. ugEOF                 EQU     23
  44. ugBOF                 EQU     24
  45. ugDefNameErr          EQU     98
  46. ugFatalError          EQU     99
  47.  
  48. ; ugUserFlags for UGNewUser, UGGetUserInfo, and UGSetUserInfo 
  49. IACEnabled            EQU     1
  50. LoginEnabled          EQU     $100
  51. SuperUser             EQU     $200
  52. NoChangePwd           EQU     $400
  53. GetNewPwd             EQU     $1000
  54.  
  55. ; ugSrvrFlags[0] for UGGetULInfo and UGSetULInfo 
  56. Apple2                EQU     1
  57. NoGuests              EQU     2
  58. IACGuestEnabled       EQU     16
  59. IACGlobalEnabled      EQU     32
  60.  
  61. ; ugSrvrFlags[1] for UGGetULInfo and UGSetULInfo 
  62. DontSavePwd           EQU     1
  63.  
  64. ; ugChngFlags codes for UGSetUserInfo 
  65. ChngUserPasswd        EQU     1
  66. ChngUserFlags         EQU     2
  67. ChngUAll              EQU     3
  68.  
  69. ; ugChngFlags codes for UGSetULInfo 
  70. ChngSrvrFlags         EQU     1
  71. ChngAdmnKey           EQU     2
  72. ChngMinPwdLen         EQU     4
  73. ChngMaxBadLogins      EQU     8
  74. ChngPwdExpDate        EQU     16
  75. ChngSrvrVersion       EQU     32
  76. ChngULAll             EQU     63
  77.  
  78. ; server version as returned by UGGetULInfo 
  79. Sys7SrvrVer           EQU     3
  80. AS3SrvrVer            EQU     4
  81.  
  82. ; These are the Param Blocks for the interface calls: 
  83.  
  84. UGPBHeader            RECORD  0
  85. qLink                 DS.L    1  ; QElemPtr
  86. qType                 DS.W    1  ; short
  87. ugTrap                DS.W    1  ; short
  88. ugCmdAddr             DS.L    1  ; Ptr
  89. ugCompletion          DS.L    1  ; ProcPtr
  90. ugResult              DS.W    1  ; OSErr
  91. ugNamePtr             DS.L    1  ; StringPtr
  92. ugVRefNum             DS.W    1  ; short
  93. ugRefNum              DS.W    1  ; short
  94. ugDirID               DS.L    1  ; long
  95. ugAccessID            DS.L    1  ; long
  96. ugUserID              DS.L    1  ; unsigned long
  97. ugGroupID             DS.L    1  ; unsigned long
  98. size                  EQU     *
  99.                       ENDR
  100.  
  101.  
  102. ; Use UGFilePB for UGOpenFile, UGCloseFile and UGCreateFile 
  103. UGFilePB              RECORD  0
  104.                       DS      UGPBHeader
  105. ugAdminKey            DS.L    1  ; StringPtr
  106. size                  EQU     *
  107.                       ENDR
  108.  
  109.  
  110. ; Use UGUserPB for UGNewUser, UGDeleteUser, UGRenameUser, UGGetUserInfo, 
  111. ; UGSetUserInfo, and UGAuthenticateUser 
  112. UGUserPB              RECORD  0
  113.                       DS      UGPBHeader
  114. ugPosOffset           DS.W    1  ; short
  115. ugMisc                DS.L    1  ; StringPtr
  116. ugChngFlags           DS.W    1  ; short
  117. ugPassword            DS.L    1  ; StringPtr
  118. ugUserFlags           DS.L    1  ; long
  119. ugNumBadLogins        DS.W    1  ; short
  120. ugPwdDate             DS.L    1  ; long
  121. ugNumGroups           DS.W    1  ; short
  122. ugGroups              DS.L    42 ; Array of long
  123. size                  EQU     *
  124.                       ENDR
  125.  
  126.  
  127. ; Use UGGroupPB for UGNewGroup, UGDeleteGroup, UGRenameGroup, UGGetGroupInfo, 
  128. ; UGAssignUserToGroup, and UGDeleteUserFromGroup 
  129. UGGroupPB             RECORD  0
  130.                       DS      UGPBHeader
  131. ugPosOffset           DS.W    1  ; short
  132. ugMisc                DS.L    1  ; StringPtr
  133. ugPrimaryFlag         DS.W    1  ; 2 byte Boolean
  134. size                  EQU     *
  135.                       ENDR
  136.  
  137.  
  138. ; Use UGServerPB for UGGetULInfo and UGSetULInfo 
  139. UGServerPB            RECORD  0
  140.                       DS      UGPBHeader
  141. ugAdminKey            DS.L    1  ; StringPtr
  142. ugSrvrVersion         DS.W    1  ; short
  143. ugChngFlags           DS.W    1  ; short
  144. ugSrvrFlags           DS.L    2  ; Array of long
  145. ugMinPwdLen           DS.B    1  ; Byte
  146. filler1                  DS.B    1  ; Byte filler
  147. ugMaxBadLogins        DS.W    1  ; short
  148. ugPwdExpDate          DS.L    1  ; long
  149. size                  EQU     *
  150.                       ENDR
  151.  
  152.  
  153. UGParamBlockRec       RECORD  0
  154.                       ORG      UGParamBlockRec
  155. ugFilePB              DS      UGFilePB
  156.                       ORG      UGParamBlockRec
  157. ugUserPB              DS      UGUserPB
  158.                       ORG      UGParamBlockRec
  159. ugGroupPB             DS      UGGroupPB
  160.                       ORG      UGParamBlockRec
  161. ugServerPB            DS      UGServerPB
  162.                       ORG
  163. size                  EQU     *
  164.                       ENDR
  165.  
  166. ; FUNCTION UGFunction(thePB: UserGroupPBPtr; async: BOOLEAN): OSErr;
  167. ; Declaration of functions 
  168.  
  169.                       IMPORT   UGOpenFile
  170.                       IMPORT   UGCloseFile
  171.                       IMPORT   UGCreateFile
  172.  
  173.  
  174.                       IMPORT   UGNewUser
  175.                       IMPORT   UGDeleteUser
  176.                       IMPORT   UGRenameUser
  177.                       IMPORT   UGGetUserInfo
  178.                       IMPORT   UGSetUserInfo
  179.                       IMPORT   UGAuthenticateUser
  180.  
  181.  
  182.                       IMPORT   UGNewGroup
  183.                       IMPORT   UGDeleteGroup
  184.                       IMPORT   UGRenameGroup
  185.                       IMPORT   UGGetGroupInfo
  186.  
  187.  
  188.                       IMPORT   UGAssignUserToGroup
  189.                       IMPORT   UGDeleteUserFromGroup
  190.  
  191.  
  192.                       IMPORT   UGGetULInfo
  193.                       IMPORT   UGSetULInfo
  194.  
  195.  
  196.                       ENDIF    ;  ...already included